Context menu
Otázka od: Beneš Jaroslav
30. 10. 2002 8:49
Ahoj
potrebuji upravit starsi aplikaci, ktera pouzivala u potomka TCustomMemo pro
vyvolani kontextoveho menu (popup) zpravu WM_RBUTTONUP. Po prekladu v Delphi 5
se popup uz nezorazi. V helpu je popsano ze se od Delphi 5 pouziva
WM_CONTEXTMENU ale priklad jak to pouzit tam primo neni (v Demos take ne).
Nenasel jsem ani nejaky event jako OnContextPopup...
Pokusil jsem se to udelat obdobne jako je to v RxRichEdit.pas viz.
deklarace:
procedure WMRButtonUp(var Message: TMessage); message WM_RBUTTONUP;
kod:
procedure TRxCustomRichEdit.WMRButtonUp(var Message: TMessage);
begin
{ RichEd20 does not pass the WM_RBUTTONUP message to defwndproc, }
{ so we get no WM_CONTEXTMENU message. Simulate message here. }
if Win32MajorVersion < 5 then
Perform(WM_CONTEXTMENU, Handle, LParam(PointToSmallPoint(
ClientToScreen(SmallPointToPoint(TWMMouse(Message).Pos)))));
inherited;
end;
ale to mi take nefunguje.
Kdyz jsem to vyzkousel na Windows2000, abych si overil funkcnost na RxRichEdit,
tak jsem zjistil ze to nefunguje ani tady
Jak se tedy ma spravne osetrit WM_CONTEXTMENU v Delphi 5 a vyssi ????
Diky za kazdou radu
Jaro B.